package com.bookcloud.java21.chapter8.使用同步方法86;

public class Counter {
  private int count = 0;

  public synchronized void increment() {
    // 同步代码块，使用lock对象作为锁
    count++;
    System.out.println(Thread.currentThread().getName() + " 增加计数: " + count);

    // 非同步代码，其他线程可以同时执行
    try {
      Thread.sleep(1);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
  }

  public synchronized void decrement() {
    // 同步代码块，使用lock对象作为锁
    count--;
    System.out.println(Thread.currentThread().getName() + " 减少计数: " + count);

    // 非同步代码，其他线程可以同时执行
    try {
      Thread.sleep(1);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
  }

  public int getCount() {
    // 同步代码块，使用lock对象作为锁
    return count;
  }
}
